package net.servir.diagnostico.dao;

import java.util.List;

import net.servir.diagnostico.model.*;
import net.servir.diagnostico.model.jsp.*;

public interface DiagnosticoDAO {
	
	public Number obtenerIdTestActivo(Number idSistema);
	public Number verificarDisponibilidadTest(Number idTest);	
	public String validarParticipante(Number idTest,String dni,String clave);
	public IdentificacionParticipante getIdentificacionParticipante(Number idParticipante);
	public Number obtenerSegundosRestantes(Number idTest,String tipo);
	public int obtenerFlagIntervaloTest(Number idTest);
	public void grabarRptaPregunta(String codSession,Number idTestGenerado, Number nroPregEval ,Number rptaPregEval, String ipSession);
	public Pregunta obtenerPregunta(Number idTestGenerado, Number nroPregunta);
	public boolean esUltimaPregunta(Number idTestGenerado, Number nroPregunta);
	public Test obtenerTest(Number idTest);
	public void generarPrueba(Number idParticipante);
	public ResumenPreguntas obtenerResumenPreguntas(Number idTestGenerado);
	public List<PreguntaEncuesta> obtenerPreguntasEncuesta(Number idParticipante);
	public Number getIdSistemaTest(Number idTest);
	public Sistema getSistema(Number idSistema);
	public void grabarEnvioPrueba(Number idTestGenerado);
	public void grabarRespuestaEncuesta(Number idParticipante,List<PreguntaEncuesta>preguntas);
	public void grabarSugerenciaEncuesta(Number idParticipante,String sugerencia);
	public List<Resultado> obtenerResultados(Number idTestGenerado,boolean bReqCapacitacion);
	public List<Resultado> obtenerResultadosRRHH(Number idTestGenerado,boolean bReqCapacitacion);
	public List<Resultado> obtenerResultadosRRHH_General(Number idTestGenerado,boolean bReqCapacitacion);
	public void calcularPuntaje(Number idParticipante);
	public String obtenerPorcentajeAprob(Number idTestGenerado);
	public String validarResultadoParticipante(Number idSistema,String dni,String clave);	
	public List<Pregunta> obtenerPreguntasPorBanco(Number idBancoPregunta);
	public Number obtenerTestParticipante(Number idParticipante);
	public void registrarSesionParticipante(Number idParticipante,String codSesion);
	public void setAuditoria(String codSession, String ip, IdentificacionParticipante participante,
			String accion, Number codTest);
	public Integer obtenerRespondidas(Number idParticipante);
	public TestGenerado getTestGenerado(Number idTestGenerado);
	public Number getSistemaTestActivo();
	public void grabarNecesidad(Number idParticipante, String sugerencia);
	public Number obtenerPuestoTipo(IdentificacionParticipante identParticipante);
	public String obtenerPorcentajeAprobRRHH(Number idTestGenerado);
	public List<Resultado> obtenerResultadosRRHHResponsable(
			Number idTestGenerado, boolean bReqCapacitacion);
	public List<IdentificacionParticipante> getTestGenerados(Number paramNumber, Integer filtroSoloEvaluados);
	public Integer getTotalPreguntas(Number idTest);
	public Integer getTotalRespuestasCorrectas(Number idTest);
	public IdentificacionParticipante validaLlenadoEncuesta(IdentificacionParticipante participante);
	public JspResultado resumenPreguntasEspecificas(Number idTestGenerado, JspResultado resultado);
	public List<IdentificacionParticipante> getTestGenerados(Number id_participante);
	public Number getEstadoEvaluacion(Number idParticipante);
}
